package com.kingyea.mobilepolice.apimanage.responseinfo.dao;

import com.kingyea.mobilepolice.apimanage.responseinfo.bean.ResponseInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author Mr.Lin
 * @version v1.0.0
 * @description ResponseInfoMapper
 * @date Created in 2018-03-11 11:19:16
 */
@Repository
public interface ResponseInfoMapper {

    /**
     * 通过ID获取对象
     */
    ResponseInfo getById(@Param("id") Integer id);

    /**
     * 通过ID删除对象
     */
    void deleteById(@Param("id") Integer id);

    /**
     * 更新对象
     */
    void update(ResponseInfo obj);

    /**
     * 保存对象
     */
    void save(ResponseInfo obj);

    /**
     * 查询列表
     */
    List<ResponseInfo> list(ResponseInfo obj);

    /**
     * 根据接口id删除相关响应参数信息
     */
    void deletesByServiceId(@Param("serviceId") Integer serviceId);

    ResponseInfo getByNameAndServiceId(@Param("name") String name, @Param("serviceId") Integer serviceId);

    /**
     * 查找除了自己外有没有其它记录用了 name 和 serviceId 组合主键
     */
    ResponseInfo getByNameAndServiceIdAndExcludeID(@Param("name") String name, @Param("serviceId") Integer serviceId, @Param("id") Integer id);

    List<ResponseInfo> getByServiceId(@Param("serviceId") Integer serviceId);
}
